Die-level traceability mechanism for semiconductor assembly and test facility

ABSTRACT

Embodiments of the present invention provide a novel method, system and computer program product for tracing die units during material transfer from, for example, one factory or lot to another (and efficiently maintaining correspondence between die data and an individual die during, e.g., a lot transfer process). One or more embodiments of the present invention are intended to improve the mechanism of die-level traceability by assigning individual die IDs to each die unit in, e.g., each lot, and associating a range of die IDs with a corresponding index string. When, for example, some dies are transferred from, e.g., a first lot to a second lot, the entire die information associated with the first lot is copied to the second lot, and a different index string is assigned to the second lot to indicate the actual dies or range of dies that have been transferred. The first lot&#39;s index string is then adjusted to indicate the dies remaining after the transfer.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.11/247,196, now U.S. Pat. No. ______, filed Oct. 12, 2005, which claimsthe benefit of U.S. Provisional Application No. 60/618,805, filed Oct.15, 2004, which is incorporated herein by reference.

FIELD OF THE INVENTION

Embodiments of the present invention generally relate to systems andmethods for tracing die units during material transfer from, forexample, one factory or lot of a semiconductor assembly and testfacility to another.

BACKGROUND OF THE INVENTION

In semiconductor chip manufacturing processes, multiple dies (also knownas die units) are fabricated on a single wafer. These dies are laterseparated and packaged into individual chips. The yield of chips fromeach wafer is not 100% because of defects during the manufacturingprocess. The number of good die obtained from a wafer determines theyield. Die units are typically transferred from one facility to another,or lot to lot, for various manufacturing and quality control operations.

In order to keep track of the dies, each die unit on a wafer is assigneda unique identifier (Die ID), and each wafer is assigned to a groupingof wafers such as a lot. Wafers in a lot are sometimes tracked asMaterials of the lot. Lot and Material objects in the ManufacturingExecution System (MES) are a representation of the physical items in thefactory. The die IDs can be of any format and one convention is to usethe coordinate position of the dies on the wafer as an identifier (orpart of a die's identifier) where the die IDs can (but do notnecessarily) contain information regarding the lot that the IDs are in.Any additional information corresponding to the dies are assigned intoAdditional Strings, which together with the combined Die IDs constitutethe die information of the Lot or other Material. For example, users maywant to add information such as product, grade, etc. to each die in thelot. Such information can be carried in the Additional strings. When thecorresponding elements of the Die ID are matched with the AdditionalString, the information of the individual die, i.e. its ID and, say, itsproduct can be obtained.

When there is a transfer of at least some of the die units from one lotto another, the corresponding die information along with its wafer andlot information needs to be passed to the new lot. This die informationis useful in tracing, at the die unit level, an individual die's historyin terms of operation undergone, carrier used for its transportation,the lot it belonged to at various times, and other historicalinformation.

In a conventional assembly operation, die units may be drawn forprocessing from, for example, a first wafer within a first lot.Alternatively, die units can be drawn from multiple locations.Co-mingling good dies from various locations of a single wafer, fromseveral wafers, and from several wafer lots is what typically occursduring the assembly operation. Unfortunately, whenever die units amongmultiple wafers and multiple lots are co-mingled, traceability as to aparticular die unit is lost. If a die later proves unreliable in thefield, it would be beneficial from the viewpoint of the manufacturer toidentify the source of the die unit. It would also be desirable todetermine how and when the die unit was manufactured. Such indicia couldaid the manufacturer in improving the manufacturing process not onlyafter the die units are shipped, but also possibly during tests of thedie units before shipment.

Conventional techniques used to trace die units are primarily limited tomanipulating die IDs when die units are transferred from one lot toanother. Due to the large amount of information often involved and thecomplexity of this task, this manipulation can be a slow and burdensomeprocess. It would thus be desirous to avoid the cumbersome process ofadjusting the die IDs of both the transferred die units in the receivingobject, and adjusting the die IDs of the die units remaining in thesource object. Accordingly, the present invention is directed to these,as well as other important ends.

SUMMARY OF THE INVENTION

The present invention provides a novel method, system and computerprogram product for tracing die units during material transfer from, forexample, one factory or lot to another and efficiently maintaincorrespondence between die data and an individual die during, e.g., alot transfer process. One or more embodiments of the present inventionare intended to improve the mechanism of die-level traceability byassigning individual die IDs to each die unit, e.g., each lot, andassociating a range of die IDs with a corresponding index string. Thedie IDs may include wafer ID, X-coordinate, and Y-coordinate, and caninclude other die-related information. The die information of a lot ormaterial object comprises the die IDs and Additional Strings. When, forexample, some dies are transferred from, e.g., a first lot to a secondlot, the entire die information associated with the first lot is copiedto the second lot, and a different index string is assigned to thesecond lot to indicate the actual dies or ranges of dies that have beentransferred. The first lot's index string is then adjusted to indicatethe dies remaining in the first lot after the transfer. By using theindex string, the dies in a particular lot can more efficiently be kepttrack of without the need to manipulate and/or selectively associateindividual die IDs with differing lots (and the dies therein) in thecourse of, e.g., transferring selected dies from the first lot to thesecond lot.

Accordingly, the present invention relates to a method for tracing dieunits during manufacturing operations, which include the operative stepsof assigning a first index string to a plurality of die strings that arein one-to-one correspondence to a plurality of die units, wherein theplurality of die units is associated with a source object, wherein eachrange of indices encompassed by the first index string identifies one ofsaid plurality of die strings, upon transferring at least some of thedie units from the source object to a receiving object, copying theplurality of die strings associated with the plurality of die units fromthe source object to a receiving object, assigning a second index stringto the die strings associated with the die units transferred from thesource object to the receiving object to indicate die units transferredto the receiving object, and adjusting the first index string in thesource object to indicate die units remaining in the source object. Morespecifically, the die strings include wafer ID and die coordinates, eachdie coordinates includes an X-coordinate and Y-coordinate, the diestrings include wafer ID and a range of number sequence, and the methoddie strings are generated from a die map of the source object. In oneexample, the source object is a plurality of wafers and the receivingobject is a plurality of lead frames. In another example, the sourceobject is a first plurality of lead frames and the receiving object is asecond plurality of magazines.

In an example of the present invention, the method for tracing die unitsduring manufacturing operations further includes the operative steps ofassigning a plurality of user-defined strings in one-to-onecorrespondence to said plurality of die strings.

In another example of the present invention, the method for tracing dieunits during manufacturing operations further includes the operativesteps of assigning a die picking order in one-to-one correspondence tosaid plurality of die string.

In yet another example of the present invention, the method for tracingdie units during manufacturing operations further includes the operativesteps of storing said index strings and die strings associated with thedie units transferred from the source object to the receiving object,wherein the stored index strings and die strings trace the history ofthe die units, and generating a report comprising die unit traceinformation.

In one or more embodiments, the present invention relates to a systemfor tracing die units during manufacturing operations, which includes aprocessor to assign a first index string to a uniquely assignedplurality of die strings in one-to-one correspondence to a plurality ofdie units, wherein said plurality of die units is associated with asource object, wherein each indice within the first index stringidentifies one of said plurality of die strings, a tracking mechanism totrack at least some die units transferred from the source object to areceiving object, wherein said tracking mechanism copies at least somedie strings associated with the die units transferred from the sourceobject to the receiving object, assigns a second index string to the diestrings associated with the die units transferred from the source objectto the receiving object and adjusts the first index string in the sourceobject to indicate die units remaining in the source object.

In one example, the system according to present invention furthercomprises a die bonder device for generating die strings from a die mapof the source object.

In another example, the system according to present invention furthercomprises a die history table for storing index strings and die stringsassociated with the die units transferred from the source object to thereceiving object.

In another embodiment, the present invention relates to a system fortracing die units during manufacturing operations, which includes meansfor assigning a first index string to a uniquely assigned plurality ofdie strings in one-to-one correspondence to a plurality of die units,wherein said plurality of die units is associated with a source object,wherein each range of indices encompassed by the first index stringidentifies one of said plurality of die strings, means for, upontransferring at least some of the die units from the source object to areceiving object, copying the plurality of die strings associated withthe plurality of die units from the source object to a receiving object,means for assigning a second index string to the die strings associatedwith the die units transferred from the source object to the receivingobject to indicate die units transferred to the receiving object, andmeans for adjusting the first index string in the source object toindicate die units remaining in the source object. More specifically,the die strings include wafer ID and die coordinates, wherein the diestrings are generated from a die map of the source object, and whereinthe die coordinates include X-coordinate and Y-coordinate. In oneexample, the die strings include wafer ID and a range of numbersequence. In one example of the system according to present invention,the source object is a plurality of wafers and the receiving object is aplurality of lead frames. In another example, the source object is aplurality of lead frames and the receiving object is a plurality ofmagazines.

In one example, the system according to present invention furthercomprises means for assigning a plurality of user-defined strings inone-to-one correspondence to said plurality of die strings.

In another example, the system according to present invention furthercomprises means for assigning a die picking order in one-to-onecorrespondence to said plurality of die string.

In yet another example, the system according to present inventionfurther comprises means for storing said index strings and die stringsassociated with the die units transferred from the source object to thereceiving object.

An example of the present invention is also directed to a computerprogram product residing on a computer readable medium, the computerprogram product comprising instructions for causing a computer to assigna first index string to a uniquely assigned plurality of die strings inone-to-one correspondence to a plurality of die units, wherein saidplurality of die units is associated with a source object, wherein eachrange of indices encompassed by the first index string identifies one ofsaid plurality of die strings, upon transferring at least some of thedie units from the source object to a receiving object, copy theplurality of die strings associated with the plurality of die units fromthe source object to a receiving object, assign a second index string tothe die strings associated with the die units transferred from thesource object to the receiving object to indicate die units transferredto the receiving object, and adjust the first index string in the sourceobject to indicate die units remaining in the source object.

In one example, the computer program product according to the presentinvention further comprises instructions for causing computer to assigna plurality of user-defined strings in one-to-one correspondence to saidplurality of die strings.

In another example, the computer program product according to thepresent invention further comprises instructions for causing computer toassign a die picking order in one-to-one correspondence to saidplurality of die string. In yet another example, the computer programproduct according to the present invention further comprisesinstructions for causing computer to store said index strings and diestrings associated with the die units transferred from the source objectto the receiving object.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an embodiment of an exemplary die-level traceability system inaccordance with the present invention.

FIG. 2 is a flow diagram in accordance with an exemplary embodiment ofthe die-level traceability mechanism of the present invention.

FIG. 3 shows exemplary die pick patterns for a wafer.

FIG. 4 shows an example of a wafer's die pick order.

FIG. 5 illustrates exemplary die data in lots before and after thetransfer of die units from one lot to another lot in a split lottransaction.

FIG. 6 illustrates exemplary die data in lots before and after thetransfer of die units from one lot to another lot in a merge lottransaction.

FIG. 7 shows an exemplary graphical user interface (UI) for the presentinvention that is used for specifying die IDs for Lot or MaterialOperations.

FIG. 8 shows another exemplary graphical user interface for the presentinvention that is used for specifying die IDs for Lot or MaterialOperations.

FIG. 9 shows an exemplary graphical user interface for the presentinvention that is used for retrieving Die Trace Information.

DETAILED DESCRIPTION

Embodiments of the present invention provide a die-level traceabilitysystem, method and product for facilitating tracing die units duringmanufacturing operations where, e.g., a portion of one lot istransferred to another lot. Referring now to the drawings, and moreparticularly, to FIG. 1, there is shown a die-level traceability system,generally designated 100, for facilitating tracing die units duringmaterial transfer from, for example, one factory or lot to another andefficiently maintaining correspondence between die data and anindividual die during, e.g., a lot transfer process. System 100 caninclude one or more manufacturing system 102, testing, assembly andpackaging system 104 (e.g. FLEX™ Test System, Teradyne, Inc., Boston,Mass.), host network 106, user interface 108, application server 110(e.g. IBM WebSphere® Application Server, IBM Corporation, Armonk, N.Y.),and database 112 (e.g. Oracle, Oracle Corporation, Redwood Shores,Calif.). Testing, assembly and packaging system 104 can include devicesfor performing operations related to, for example, wafer testing 104 a(e.g. APT System, Keithley Instruments, Inc., Cleveland, Ohio), dicing104 b (e.g. Dynatex Wafer Dicing System, Dynatex International, SantaRosa, Calif.), one wire bonding 104 c (e.g. Kulicke & Soffa, WillowGrove, Pa.), encapsulation 104 d, and test and burn-in 104 e. Any numberof different devices and processes are contemplated for use with system100 above, as will readily be recognized by those skilled in the art.

In one or more embodiments of the present invention, the applicationserver 110 generates unique die IDs for each die unit from a user. Theapplication server 110 assigns the die IDs in one-to-one correspondenceto the die units. In another embodiment of the present invention the dieIDs are generated by the manufacturing system 102. A die ID can be afree-form string (die string) that is user-defined or externallygenerated by an application or a tool. The die IDs generated are storedin the database 112. The die IDs for die units in a lot or material canbe stored as a concatenated string that is assigned to a lot or materialobject (WIP objects). In one example, the die information can beassigned to the largest WIP object (e.g., lot rather than material) thatis associated with a carrier object.

Regarding the tracing of an individual die and its history as itproceeds through the manufacturing system 102 and passed amongstdifferent WIP objects, one or more embodiments of the present inventioncontemplate that the application server 110 assigns an index string tothe die information from a source WIP object in the manufacturing system102. This index string is, e.g., a numeric range or ranges representingthe actual die units in a given WIP object. The manufacturing system 102transmits data related to the transfer operation of die units performedby each device in the testing, assembly and packaging system 104 toapplication server 110. In one specific example, die bonder tool 104 ccan provide information as to which series of dies from a wafer areplaced into individual lead frames or magazines. Application server 110receives this data via the network 106 and assigns another index stringto the die information corresponding to the die units transferred to thereceiving WIP object. In embodiments of the present invention, all ofthe die information from the source WIP object is copied to thereceiving WIP object. The application server 110 concatenates the indexstring corresponding to the die units transferred from the source WIPobject with the die information in the receiving WIP object and storesthe resulting string in the database 112. Further, the applicationserver 110 adjusts the index string corresponding to the die units inthe source WIP object to indicate the die units remaining in the sourceWIP object and stores the resulting string in the database 112. In thisfashion, the system 100 traces a particular die's history as it ispassed from one WIP object to another, and allows for transferring diesamongst WIP objects by adjusting the index strings rather than adjustingthe typically more voluminous die information.

FIG. 2, generally at 200, illustrates an exemplary method in accordancewith an exemplary embodiment of the mechanism of die-level traceabilityof the present invention. At step 202, the application server 110assigns a unique string of individual die IDs to the die units in thelot or material objects. In one embodiment, the application server 110assigns a sequential range of die IDs to the lot or material objects.Die IDs (and by association, die information, generally) assigned to aWIP object by the application server 110 can be as a result of inputfrom a die map, for example, from the front-end facilities, or areprovided by an individual tool, and are envisioned to be of a form thatis uniquely identifiable. In one specific example, the die bonder tool104 c can provide die information in the form of coordinates of dieunits in wafers placed into the individual lead frames or magazines.This die information can include absolute unique coordinates (e.g.,<unique wafer ID>_<Xm>_<Yn>, <unique wafer ID>_<Xv>_<Yw).

In one or more alternate (and/or overlapping) embodiments of the presentinvention, the system supports five additional matching strings of dieinformation that could be appended to the die IDs. In one example, thenumber of items described in each string matches the number of discretedie IDs in the die ID string. The index string assigned to the die IDsalso applies to all additional string appended to the die IDs. Theseadditional strings allow the user to define additional die informationwithout having to append data to the discrete die IDs. In effect, itprovides the equivalent of having 5 attribute fields for each die ID.These strings along with the index string forms a set of die data. Diedata for a lot or material are stored in a concatenated string ofindividual die IDs, together with a corresponding index string. Theindices indicate the actual dies or range of dies held by the lot ormaterial object.

In one embodiment of the present invention, the die information includesdie maps with picking order data by, e.g., the die-bonder tool when thewafer is not rectangular. FIG. 3 illustrates exemplary die pickingpatterns for a wafer. The die pick pattern of the die bonder equipmentdetermines the die ID list passed to the lead frame magazines. FIG. 4illustrates an example of a wafer's die pick order by the die-bondertool. This die information including the die maps is used if dieinformation formats are in ranges, implying that the die informationassigned to a WIP object does not have discrete die IDs that aredirectly retrievable from the database 112. In one example, the pickpattern information is stored by product type and in another (oroverlapping) example the pick pattern information is stored by wafersize.

One or more embodiments of the present invention includes a die pickingorder table (and use thereof) that stores die coordinate patterns ofwafer of a product type. In one example, the die picking order tablecould be used as a lookup table between a wafer coordinate range and asequence number range. In one example, the lookup table facilitates thelookup of actual coordinates if the die range information is provided asa numbered range. Table 1 shows an example of a die pick order for thewafer shown in FIG. 4. Whenever this table is used as a lookup, thesystem strips off the part of the die ID string based on known namingconvention. In one example, while searching for “wafer23415_x24_y2”, thesystem will use the “x24_y2” portion of the die ID. For example, if thedie bonder equipment indicates the transfer of die units 1 through 480from wafer “WaferXYZ” to a lead frame magazine “Magazine101”, the systemretrieves the appropriate pick pattern based on the wafer's producttype. For range 1 through 480, the system can generate individual dieIDs by concatenating the waferID with the coordinates of each sequence(e.g. “WaferXYZ_x21_y1” for 1st die, “WaferXYZ_x22_y1” for 2nd die, andso forth). The die data for “Magazine101” is then “WaferXYZ_x21_y1,WaferXYZ_x22_y1, . . . , WaferXYZ_xn_ym” and the index string is“1:480”. TABLE 1 Die Pick Pattern Table Die Map Name Sequence # DieCoordinate Value Product_A_wafer_pattern 1 x21_y1 (first row -top left -die #1) Product_A_wafer_pattern 2 x22_y1 Product_A_wafer_pattern 3x23_y1 Product_A_wafer_pattern 4 x24_y1 . . . . . . . . .Product_A_wafer_pattern 37 x57_y1 (end first row - die # 37)Product_A_wafer_pattern 38 x20_y2 (start 2nd row - die # 38)Product_A_wafer_pattern 39 x21_y2 Product_A_wafer_pattern 40 x22_y2Product_A_wafer_pattern 41 X23_y2 . . . . . . . . .

In one example, the sequence number for each coordinate in Table 1 couldbe used to identify individual die IDs after a split transaction. Asshown in Table 1, the system can store die information in three parts:the raw coordinate range data, a sequence number range data, and the diemap name. In one example, the die information includes die string (e.g.,wafer1_x1_y1:wafer_x3_y42), range data (e.g., 1:480), and die map name(e.g., ProductA_wafer pattern).

Still referring to FIG. 2, at step 204, the application server 110assigns an index string to the die units in the WIP object. In oneembodiment of the present invention, the index string represents therange of die units in the WIP object. At decision step 206, the systemdetermines whether there is a physical transfer of die units from oneWIP object to another. Exemplary operations wherein die units aretransferred from one WIP object to another include recording losses, lotsplit and merge, material transfer, material regrouping within the samelot, remove material from a lot, terminal lot, adjust lot, and the like.If there is a physical transfer of die units from one WIP object toanother, then, at step 208, the system copies the die information to areceiving WIP object.

In one or more embodiments of the present invention, the physicaltransfer of die units occurs during the operation that includes a splitlot transaction. In another embodiment of the present invention, thephysical transfer of die units occurs during the operation that includesa lot merge operation. In one embodiment of the present inventionregarding a split lot transaction, the system, at step 208, will copythe entire parent lot die information to the child lot. In oneembodiment of the present invention regarding a merge operation, thesystem will merge the die information of all merging lots into thetarget lot. The following example illustrates the split lot transaction:Parent lot's die data before split: “lot34456-1.1_x34_y47,lot34456-1.1_x35_y47, lot34456-1.1_x1_y48,....., lot34456-1.2_x1_y1”Range data (index string)= 1:5000 User specifies the range of diestransferred to child lots: Child lot #1 receives: Die ID string=“lot34456-1.1_x34_y47, lot34456-1.1_x35_y47, lot34456- 1.1_x1_y48,.....lot34456-1.2_x1_y1”

 unchanged Range data= 1:2500

 valid range of dies in the index string Child lot #2 receives: Die IDstring= “lot34456-1.1_x34_y47, lot34456-1.1_x35_y47, lot34456-1.1_x1_y48,..... lot34456-1.2_x1_y1”

 unchanged Range data= 2501:5000

 valid range of dies in the index string Parent lot's die data aftersplit: “lot34456-1.1_x34_y47, lot34456-1.1_x35_y47,lot34456-1.1_x1_y48,....., lot34456-1.2_x1_y1”

 unchanged Range data= 0:0

 valid range of dies in the string is adjusted to zeroThus, all die ID strings remain the same, and only the index string ischanged (as detailed below).

Referring back to FIG. 2, at step 210, the system will assign anotherindex string to the die units transferred to the receiving WIP object.In one embodiment of the present invention, the index string willindicate the die units transferred from the source WIP object to thereceiving WIP object. At step 212, the system will adjust the indexstring assigned to the die units remaining in the source WIP object. Inone embodiment, the index string is adjusted to indicate the die unitsremaining in the source WIP object after the transfer. FIGS. 5 and 6illustrate exemplary die data in lots before and after the transfer ofdie units from one WIP object to another (e.g., lot split transactionfrom LOT1 to LOT2; lot merge transaction between LOT 3 and LOTS 4).

In one or more embodiments of the present invention (and/or environmentsthereof), the physical transfer of die units occurs during operationsthat includes moving a lot containing wafer cassettes in themanufacturing system 102 through die bonder 104 c and wire bonder 104 d,placing dies on lead frames, and placing the lead frame in lead framemagazines. In one example, a material is created to represent onemagazine of lead frames. The magazine's die IDs can be assigned to thatmaterial. In one example, die information includes: Die ID string:<user-defined free-format die ID string> AdditionalString1:<user-defined free-format additional die information string>AdditionalString2: <user-defined free-format additional die informationstring> AdditionalString3: <user-defined free-format additional dieinformation string> AdditionalString4: <user-defined free-formatadditional die information string> AdditionalString5: <user-definedfree-format additional die information string> Range data: <range datawith respect to the die ID string> Die map name: [optional] <Die mapname>

 die picking order

For example: For discrete die IDs Die ID string = “lot34456-1.1_x34_y47,lot34456-1.1_x35_y47, lot34456- 1.1_x1_y48,....., lot34456-1.2_x1_y1”AdditionalString1: “leadframe1,leadframe1,.........., leadframe40”AdditionalString2: “location-1,location-1,..............., location-3”AdditionalString3: “wafer-4, wafer-4,...................., wafer-5”AdditionalString4: AdditionalString5: Range data= 1:480 Die map name:For range coordinate: Die ID string: “wafer1_x1_y1:wafer1_x3_y42”AdditionalString1: “leadframe1,leadframe1,.........., leadframe40”AdditionalString2: “location-1,location-1,..............., location-3”AdditionalString3: “wafer-4, wafer-4,...................., wafer-5”AdditionalString4: AdditionalString5: Range data: 1:480 Die map name:“ProductA_wafer_pattern”

 die picking order

These Die ID data will be assigned to lot or material objects.

In one or more embodiments of the present invention, the changes due tothe transfer of die units from one WIP object to another, is recorded inthe die history table. In another embodiment, the trail of WIP objectscarrying die units including the WIP objects' history facilitates thesystem to trace the history of die units.

FIG. 7 shows an exemplary Specify Die Information UI that is used forspecifying die IDs for Lot or Material Operations. During certain lot ormaterial operations such as Record Losses, Split Lot and TransferMaterial, if the selected lot or material has die IDs assigned, thesystem will provide a user interface to specify Die ID information,either in terms of a range or in the format of individual die ID list asshown in FIG. 7. In one example, when “Specify Die Range” option isselected, as shown in FIG. 7, the system allows the user to specify theindexed range for the die IDs (e.g. dies 1 to 480 go into magazine_(—)1during material transfer operation). In another example, when “SpecifyDie ID List” option is selected, as shown in FIG. 8, the lower part ofthe UI will be enabled and the existing list of Die IDs is displayed inthe “Available Dies” list. In another example, the user can selectindividual Die IDs from the list or select a range from this list boxand add it to the “Assigned Dies” list box. Also, as indicatedpreviously, the Die IDs can be generated automatically by the systembased upon certain criteria and/or rules.

In one or more embodiments of the present invention, the system can beused to generate the history of a die unit with die data that includedie ID in discrete format. In one example, the system uses the UIillustrated in FIG. 9 to retrieve the history of a die unit by:

-   -   1. launching the Search Die History UI and providing the die ID        and Lot ID (if available);    -   2. searching the die history table for the die ID by:        -   a) For available LotID, retrieving the die ID string based            on the target Lot object; determining the index position of            the specific die unit in the die ID string; using the die ID            string as the search criteria to retrieve all WIP objects            that includes the die ID string; and for each WIP object            retrieved, verifying if WIP object's index range includes            the index of the die unit.        -   b) For unavailable LotID, scanning for all WIP objects and            checking their die ID strings for a match to the die ID;            determining the index position of the specific die in the            die ID string; using the die ID string as the search            criteria to retrieve all WIP objects that includes the die            ID string; and for each WIP object retrieved, verifying if            WIP object's index range includes the index of the die unit.    -   3. displaying the history of specific WIP objects from the list        containing the history of the WIP object to show the carriers        and equipment that were associated with the object.

FIG. 9 shows an exemplary Search Die History UI for retrieving Die TraceInformation. The UI will allow a search for die traceability informationby entering a specific die ID and Lot ID to retrieve trace information.The Input includes Die ID (to be searched): wafer1_x1_y1, and Lot ID:chip's current lot ID. The user can select a row and right-click tolaunch the history UI for that object.

Parts of the present invention and corresponding detailed descriptionare presented in terms of software, computer programs, or algorithms.Software includes symbolic representations of operations or steps storedin the form of data bits within a computer memory. An algorithm is asequence of steps leading to a desired result(s). The steps are thoserequiring physical manipulations of physical quantities. Usually, thoughnot necessarily, these quantities take the form of optical, electrical,or magnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated. Unless specifically statedotherwise, or as is apparent from the discussion, terms such as“processing” or “determining” or the like refer to the actions andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical, electronicquantities within the computer system's memories into other datasimilarly represented as physical quantities within the computersystem's memories or registers or other such information storage,transmission or display devices.

Although the above detailed description has shown, described and pointedout fundamental novel features of the invention as applied to thevarious embodiments discussed above, it will be understood that variousomissions and substitutions and changes in the form and details of thedevice illustrated may be made by those skilled in the art, withoutdeparting from the spirit and scope of the invention. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive.

1. A method for maintaining die information during manufacturingoperations, comprising: storing, in a database, one or more die stringsidentifying one or more die units, wherein the die units are at leastone of a first set of die units associated with a source object, asecond set of die units which have transferred from the source object toa receiving object, and a third set of die units which are die unitsremaining at the source object after the second set of die units havetransferred from the source object to the receiving object; storing, inthe database, an assignment of a first index string to one or more diestrings identifying the first set of die units associated with thesource object; storing, in the database, an assignment of a second indexstring to one or more die strings identifying the second set of dieunits which have transferred from the source object to the receivingobject; storing, in the database, a third index string reflecting one ormore die strings identifying the third set of die units, wherein thethird set of die units are the die units remaining at the source objectafter the transfer of the second set of die units from the source objectto the receiving object; and storing, in the database, an association ofthe third index string to the die strings identifying the third set ofdie units remaining at the source object.
 2. The method of claim 1wherein the one or more die strings identifying the first set of dieunits, the second set of die units, and the third set of die units areindexed by die coordinates or by a sequence number range.
 3. The methodof claim 1 wherein the index strings include one or more ranges toidentify one or more die strings identifying one or more die units,wherein the die units are at least one of the first set of die unitsassociated with the source object, the second set of die units whichhave transferred from the source object to the receiving object, and thethird set of die units which are the die units remaining at the sourceobject after the second set of die units have transferred from thesource object to the receiving object.
 4. The method of claim 1 furthercomprising storing, in the database, an assignment of one or moreuser-defined strings in one-to-one correspondence to the one or more diestrings identifying the first set of die units, the second set of dieunits, and the third set of die units.
 5. The method of claim 1 furthercomprising storing, in the database, one or more die coordinate patternsof a wafer of a product type, wherein the database includes a diepicking order table to store the one or more die coordinate patterns ofthe wafer of the product type, wherein the die picking order table isassigned in one-to-one correspondence to one or more die stringsidentifying the second set of die units and the third set of die units.6. The method of claim 1 wherein the database includes a die historytable to store the first index string identifying the first set of dieunits, the second index string identifying the second set of die units,the third index string identifying the third set of die units, and thedie strings associated with the second set of die units and the thirdset of die units.
 7. The method of claim 6 further comprising: searchingthe die history table for die strings that match at least one die unitidentified by the user for which a die history is to be retrieved,wherein the user identifies the die unit by at least a die ID;retrieving the source objects and receiving objects which include thedie strings that match the die ID; and creating the die history of theidentified die unit, including the retrieved source objects andreceiving objects.
 8. The method of claim 7 further comprisinggenerating a report comprising the die history of the identified dieunit.
 9. The method of claim 1 further comprising: storing, in thedatabase, object information related to the transfer operation of dieunits from the source object to the receiving object, wherein the objectinformation includes an object type, an object activity, date, time, anduser name; and storing, in the database, a history of one or more ofsource objects and receiving objects.
 10. A system for storing dieinformation for die units during manufacturing operations comprising: amanufacturing system tool to generate one or more die strings; and adatabase coupled to the manufacturing system tool to store a pluralityof index strings and the one or more die strings generated by themanufacturing system tool, wherein the one or more die strings areassociated with one or more die units wherein the die units are at leastone of a first set of die units associated with a source object, asecond set of die units which have transferred from the source object toa receiving object, and a third set of die units which are die unitsremaining at the source object after the second set of die units havetransferred from the source object to the receiving object.
 11. Thesystem of claim 10 wherein the database includes a die history table tostore the index strings and die strings associated with the second setof die units and the third set of die units.
 12. The system of claim 10wherein the database includes a die picking order table to store one ormore die coordinate patterns of a wafer of a product type, wherein thedie picking order table is assigned in one-to-one correspondence to oneor more die strings.
 13. The system of claim 10 wherein themanufacturing system tool is a die-bonder tool.
 14. Acomputer-implemented method comprising: providing a user interfacefacilitating user input identifying one or more die units, wherein theuser interface allows the user to input at least a die ID; receiving,via the user interface, a user request for a die history of theidentified one or more die units; and displaying, in the user interface,one or more of source objects and receiving objects associated with theidentified one or more die units.
 15. The method of claim 14 furthercomprising displaying object information related to the transferoperation of one or more die units from the source object to thereceiving object, wherein the object information includes an objecttype, an object activity, date, time, and user name.
 16. The method ofclaim 14 further comprising: providing a second user interface enablinga user to display a history of one or more of the source objects and thereceiving objects; receiving, via the second user interface, a userrequest for the history of the identified one or more of the sourceobjects and the receiving objects; and displaying the history of theidentified one or more of the source objects and the receiving objects.17. The method of claim 14 further comprising: providing a third userinterface facilitating user input identifying one or more die units toassign to a receiving object, wherein the third user interface allowsthe user to input an index range or allows the user to select at leastone die unit from a die ID list; and receiving, via the third userinterface, a user request to assign the one or more die units to thereceiving object.
 18. A system comprising: a user interface tofacilitate user input identifying one or more die units, wherein theuser interface allows the user to input at least a die ID, wherein theuser interface receives a user request for a die history of theidentified one or more die units; and an application server coupled tothe user interface to provide the die history of the identified one ormore die units based on the user input received by the user interface,wherein the user interface is to receive the die history from theapplication server and to display the die history for the identified oneor more die units.
 19. The system of claim 18 further comprising asecond user interface to enable a user to display a history of one ormore of the source objects and the receiving objects, wherein theapplication server is coupled to the second user interface to providethe history of one or more of the source objects and the receivingobjects, wherein the second user interface is to receive the history ofthe one or more of the source objects and the receiving objects from theapplication server.
 20. The system of claim 18 further comprising athird user interface to facilitate user input identifying one or moredie units to assign to a receiving object, wherein the third userinterface allows the user to input an index range or allows the user toselect the one or more die units from a die ID list, wherein theapplication server is coupled to the third user interface to assign theidentified one or more die units to the receiving object.
 21. A computerreadable medium comprising executable instructions which when executedon a processing system cause said processing system to perform a methodcomprising: providing a user interface facilitating user inputidentifying one or more die units, wherein the user interface allows theuser to input at least a die ID; receiving, via the user interface, auser request for a die history of the identified one or more die units;and displaying, in the user interface, one or more of source objects andreceiving objects associated with the identified one or more die units.22. The computer readable medium of claim 21 wherein the method furthercomprising displaying object information related to the transferoperation of one or more die units from the source object to thereceiving object, wherein the object information includes an objecttype, an object activity, date, time, and user name.
 23. The computerreadable medium of claim 21 wherein the method further comprising:providing a second user interface enabling a user to display a historyof one or more of the source objects and the receiving objects;receiving, via the second user interface, a user request for the historyof the identified one or more of the source objects and the receivingobjects; and displaying the history of the identified one or more of thesource objects and the receiving objects.
 24. The computer readablemedium of claim 21 wherein the method further comprising: providing athird user interface facilitating user input identifying one or more dieunits to assign to a receiving object, wherein the third user interfaceallows the user to input an index range or allows the user to select atleast one die unit from a die ID list; and receiving, via the third userinterface, a user request to assign the one or more die units to thereceiving object.